# Local Makefile

CFLAGS =  -fPIC -I\include -DLINUX -DUNIX -D_STRICMP_ -g -Wno-deprecated

OBJS = \
	AgtError.o \
	AgtOSPortLx.o \
	AgtPCIEControl.o \
	AgtPCIEExerciser.o \
	AgtPCIPort.o \
	AgtPortSelector.o \
	PCIEFPGAFramework.o \
	PCIEFPGATxMemories.o \
	PCIEMemInfo.o \
	PCIEMemoryMgmt.o \
	PCIEFPGACSPkt.o \
	PCIEConfigSpace.o \
	PCIEFPGACSDat.o \
	PCIETLPInfo.o \
	PCIESiMgmt.o \
	PCIEFPGACSSpc.o \
	DebugLogger.o \
	FunctionLogger.o \
  

all: libexcapiex.so libexcapiex.a main.exe

%.o: %.cpp
	g++ $(CFLAGS) -c -o $@ $<

libexcapiex.so: $(OBJS)
	g++ -shared -Wl,-soname,libexcapiex.so.1 -o $@.1.0 $(OBJS)

libexcapiex.a: $(OBJS)
	ar rc $@ $(OBJS)

main.exe: libexcapiex.a
	g++ -g -Wno-deprecated -o main main.cpp libexcapiex.a


clean:
	rm -f *.o libexcapiex.so.1 libexcapiex.so.1.0 libexcapiex.a main

install: libexcapiex.so libexcapiex.a
	@echo mkdir -p $(PREFIX_FOR_RPM)/usr/lib/agilent
	@mkdir -p $(PREFIX_FOR_RPM)/usr/lib/agilent
	@echo libexcapiex.so.1.0 $(PREFIX_FOR_RPM)/usr/lib/agilent
	@cp libexcapiex.so.1.0 $(PREFIX_FOR_RPM)/usr/lib/agilent
ifeq ($(PREFIX_FOR_RPM),) 
	@if ! grep /usr/lib/agilent /etc/ld.so.conf &> /dev/null; then \
	  echo /usr/lib/agilent >> /etc/ld.so.conf; \
	fi
	@echo ldconfig
	@ldconfig
endif

uninstall: 
	@echo rm $(PREFIX_FOR_RPM)/usr/lib/agilent/libexcapiex.so.1.0
	@rm $(PREFIX_FOR_RPM)/usr/lib/agilent/libexcapiex.so.1.0
ifeq ($(PREFIX_FOR_RPM),) 
	@echo ldconfig
	@ldconfig
endif

